package com.sdonkey.score.service;

import java.util.Map;

import com.github.pagehelper.Page;
import com.sdonkey.score.bean.AdInfoBean;

/**
 * 我的广告service
 * @author 赵超、窦静宇
 * @email 773134958@qq.com
 */
public interface IMyAdsService {

    /**
     * 内容商专属广告 首页
     *
     * @param userId  用户id
     * @param intpage 标记（如果不为空查询前三条）
     * @return 返回内容商的所有广告
     */
    Map<String, Object> selectDeveloper_Ads(String userId, int intpage);

    /**
     * 指定  内容商  的专属广告（已弃用）
     *
     * @param userId  用户id
     * @param devId   内容商id
     * @param flag    广告类型（v:视频广告，a：应用广告，p:图片广告）
     * @param intpage 标记（如果不为空查询前三条）
     * @return
     */
    Map<String, Object> selectDeveloper_Ads(String userId, String devId, String flag, int intpage);

    /**
     * 查询已经订阅的广告主
     *
     * @param devId 用户ID
     * @return 返回已经订阅的所有的广告主
     */
    Page<AdInfoBean> selectMyAds(Integer devId, int pageNum, int pageSize);


    /**
     * @param adv_id  广告主ID
     * @param ad_type 广告类型
     * @return 返回已经订阅的指定广告主的指定类型的广告
     */
    Page<AdInfoBean> selectAd(Integer adv_id, String ad_type, int pageNum, int pageSize);

    /**
     * 查询已经收藏的所有的广告
     *
     * @param devId   用户ID
     * @param ad_type 广告类型
     * @return 返回已经收藏的指定类型的广告
     */
    Page<AdInfoBean> selectMyCollectionAds(String devId, String ad_type, int pageNum, int pageSize);

    /**
     * 我的内容商 首页
     *
     * @param userId  用户ID
     * @param intpage 页码
     * @return
     */
    Map<String, Object> selectMyDevelopers(String userId, int intpage);

    /**
     * 查询广告商
     *
     * @param userId  用户ID
     * @param info    查询条件
     * @param first   首字母
     * @param intpage 页码
     * @return
     */
    Map<String, Object> searchDevelopers(String userId, String info, String first, int intpage);

    /**
     * 添加内容商关注
     *
     * @param userId 用户ID
     * @param devId  内容商ID
     * @return
     */
    int addDeveloper(String userId, String devId);

    /**
     * 取消关注内容商
     *
     * @param userId 用户ID
     * @param devId  内容商ID
     * @return
     */
    int deleteDeveloper(String userId, String devId);

    /**
     * 展示内容商详情
     *
     * @param userId  用户ID
     * @param devId   内容商ID
     * @param intpage 页码（为0时只查询前三条）
     * @param flag    查询类型（v:视频 p:图片 a:应用 ）
     * @return
     */
    Map<String, Object> selectDevelopers(String userId, String devId, int intpage, String flag);

    /**
     * 获取用户已添加的应用列表
     *
     * @param page   页码
     * @param status 应用完成状态 （0：未完成  1：已完成）
     * @param userId 用户id
     * @return
     */
    Map<String, Object> getUserAppList(String userId, int page, String status);

    /**
     * 按条件查询应用列表
     *
     * @param condition 条件
     * @param page      页码
     * @return
     */
    Map<String, Object> selectAppByCondition(String userId, String condition, int page);

    /**
     * 绑定应用平台账号
     *
     * @param userId  用户id
     * @param app_id  应用id
     * @param account 绑定账号
     * @return
     */
    int bindAppAccount(String userId, String app_id, String account);

    /**
     * 查询单个应用的广告列表
     *
     * @param app_id  应用id
     * @param ad_type 广告类型 (v:视频广告 p:图片广告)
     * @param pageNum 页面
     * @return
     */
    Map<String, Object> selectOneAppAds(String userId, String app_id, String ad_type, int pageNum);
}
